<?php

include_once($cfgPaths['lib/admin'].'hiermenu.o.inc.php');

class cmsRegisterNavTreeView extends hiermenu{

  function generateLink(&$ds){
    $str =  ' <a href="'.$this->init_data['link'].'?action=add&nav='.$this->init_data['nav'].'&id='.$ds['id'].'" target="right">'.$ds['name'].'</a>';
    return $str;
  }

  function drawImg ($type){
    switch ($type){
      case 'doc':
        print ' <img src="../cms/img/file.gif" align="top">';
        break;
      case 'folder':
        print ' <img src="../cms/img/folder.gif" align="top">';
        break;
      case 'inc':
        print ' <img src="../cms/img/incfile.gif" align="top">';
        break;
      case 'index':
        print ' <img src="../cms/img/indexfile.gif" align="top">';
        break;
      default:
        print ' <img src="../cms/img/file.gif" align="top">';
    }
  }

  // wird aufgerufen, wenn unterverzeichnis offen ist
  function uptree_open($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer.'<a href="'.$this->script_name.'?nav='.$this->init_data['nav'].'&cat='.$id.'">';
     if ($is_last){
       echo '<img src="../1010.gif" border=0 align="top">';
     } else {
       echo '<img src="../101.gif" border=0 align="top">';
     }
     echo '</a>';
     $this->drawImg($dataset['type']);
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    if ($id == $this->init_data['doc_id']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }

  // wird aufgerufen, wenn unterverzeichnis geschlossen ist
  function uptree_closed($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer.'<a href="'.$this->script_name.'?nav='.$this->init_data['nav'].'&cat='.$id.'">';
     if ($is_last){
       echo '<img src="../1000.gif" border=0 align="top">';
     } else {
       echo '<img src="../100.gif" border=0 align="top">';
     }
     echo '</a>';
     $this->drawImg($dataset['type']);
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    if ($id == $this->init_data['doc_id']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }

  // wird aufgerufen, wenn kein unterverzeichnis vorhanden ist
  function nouptree($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer;
     if ($is_last){
       echo '<img src="../01.gif" border=0 align="top">';
     } else {
       echo '<img src="../00.gif" border=0 align="top">';
     }
     $this->drawImg($dataset['type']);
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    if ($id == $this->init_data['doc_id']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }


}

?>
